Processing exception handling

ABSTRACT

In accordance with an embodiment, a method for exception handling comprises accessing an exception type for an exception, filtering historical data based on at least one defined criterion to provide a data train comprising data sets, assigning a weight to each data set, and providing a current control parameter. The data sets each comprise a historical condition and a historical control parameter, and the weight assigned to each data set is based on each historical condition. The current control parameter is provided using the weight and the historical control parameter for each data set.

TECHNICAL FIELD

The present disclosure relates generally to semiconductor processingand, more particularly, to a system and method for exception handlingduring semiconductor processing.

BACKGROUND

Typically, exceptions in semiconductor processing are regularoccurrences. Exceptions may be events that interrupt the normal controlflows of the process control system. Examples of these exceptions may benew tape out (NTO), long-time-no-run (LTNR), periodic maintenance (PM),new chamber release, and the like. The impacts of exceptions may resultin mismatched parameters of the process controllers from the actualstate of the tools or processes. These impacts are generally unaccountedfor in the modeling or are typically very difficult to model in thenormal control algorithms.

In an attempt to remedy any mismatched parameters, engineers wouldtypically enter control parameters after an exception occurred. Theparameters that an engineer would enter were generally determined basedon the engineer's experience and judgment. Because of this factor,results from processing after an exception could vary greatly. Also,there is usually some added variation that would occur between differentengineers, particularly between an engineer with a high level ofexperience and a relatively junior engineer.

Further, the handling of the exception generally requires a relativelylarge amount of time when performed manually by engineers. Adetermination by an engineer of proper control parameters may takehours. This, in turn, may result in a large maintenance load and reducedproductivity. Accordingly, there is a need in the art to overcome thesedeficiencies.

SUMMARY

In accordance with an embodiment, a method for exception handlingcomprises accessing an exception type for an exception, filteringhistorical data based on at least one defined criterion to provide adata train comprising data sets, assigning a weight to each data set,and providing a current control parameter. The data sets each comprise ahistorical condition and a historical control parameter, and the weightassigned to each data set is based on each historical condition. Thecurrent control parameter is provided using the weight and thehistorical control parameter for each data set.

Another embodiment is a computer program product for providing aprocessing control parameter. The computer program product has a mediumwith a computer program embodied thereon. The computer program comprisescomputer program code for filtering historical data when an exceptionoccurs to provide a data train comprising data sets, the data sets eachcomprising a historical condition and a historical parameter; computerprogram code for assigning a weight to each data set based on astatistical analysis of the data train; and computer program code fordetermining a suggested control parameter based on the weights.

A further embodiment is a method for processing control exceptionhandling. The method comprises determining an exception type when anexception occurs; initiating one filter of a plurality of filters andone weighting calculator of a plurality of weighting calculators basedon the exception type; filtering historical data by the one filter toprovide a data train, the data train comprising data sets, each of thedata sets including a historical condition and a historical parameter;and providing a suggested parameter based on the historical parameterfor each respective data set and on a weight of each data set determinedby the one weighting calculator.

BRIEF DESCRIPTION OF THE DRAWINGS

For a more complete understanding of the present embodiments, and theadvantages thereof, reference is now made to the following descriptionstaken in conjunction with the accompanying drawings, in which:

FIG. 1 is a block diagram of a processor based system in accordance withan embodiment;

FIG. 2 is a flowchart for an intelligent manufacturing process controlassurance (IMPCA) system according to an embodiment; and

FIG. 3 is a generalized workflow of an embodiment.

DETAILED DESCRIPTION OF ILLUSTRATIVE EMBODIMENTS

The making and using of the present embodiments are discussed in detailbelow. It should be appreciated, however, that the present disclosureprovides many applicable inventive concepts that can be embodied in awide variety of specific contexts. The specific embodiments discussedare merely illustrative of specific ways to make and use the disclosedsubject matter, and do not limit the scope of the different embodiments.

Embodiments will be described with respect to a specific context, namelyan intelligent manufacturing process control system for exceptionhandling that interfaces with an advance process control (APC) system.Other embodiments may also be applied, however, to other situationsbeyond exception handling and to other process control systems.

Referring now to FIG. 1, a block diagram of a processor based system 10is provided in accordance with an embodiment. The processor based system10 is a general purpose computer platform and may be used to implementany or all of the processes discussed herein. The processor based system10 may comprise a processing unit 12, such as a desktop computer, aworkstation, a laptop computer, or a dedicated unit customized for aparticular application. The processor based system 10 may be equippedwith a display 28 and one or more input/output devices 30, such as amouse, a keyboard, or printer. The processing unit 12 may include acentral processing unit (CPU) 14, memory 16, a mass storage device 18, avideo adapter 22, and an I/O interface 24 connected to a bus 20.

The bus 20 may be one or more of any type of several bus architecturesincluding a memory bus or memory controller, a peripheral bus, or videobus. The CPU 14 may comprise any type of electronic data processor, andthe memory 16 may comprise any type of system memory, such as staticrandom access memory (SRAM), dynamic random access memory (DRAM), orread-only memory (ROM).

The mass storage device 18 may comprise any type of storage deviceconfigured to store data, programs, and other information and to makethe data, programs, and other information accessible via the bus 20. Themass storage device 18 may comprise, for example, one or more of a harddisk drive, a magnetic disk drive, or an optical disk drive.

The video adapter 22 and the I/O interface 22 provide interfaces tocouple external input and output devices to the processing unit 12. Asillustrated in FIG. 1, examples of input and output devices include thedisplay 28 coupled to the video adapter 22 and the I/O device 30, suchas a mouse, keyboard, printer, and the like, coupled to the I/Ointerface 24. Other devices may be coupled to the processing unit 12,and additional or fewer interface cards may be utilized. For example, aserial interface card (not shown) may be used to provide a serialinterface for a printer. The processing unit 12 also may include anetwork interface 26 that may be a wired link to a local area network(LAN) or a wide area network (WAN) 32 and/or a wireless link.

It should be noted that the processor based system 10 may include othercomponents. For example, the processor based system 10 may include powersupplies, cables, a motherboard, removable storage media, cases, and thelike. These other components, although not shown, are considered part ofthe processor based system 10.

Embodiments may be implemented on the processor based system 10, such asby program code executed by the CPU 14. Some possible implementations ofembodiments are discussed herein, but a person having ordinary skill inthe art will readily understand the application of the below describedprocesses in the processor based system 12.

FIG. 2 illustrates a flowchart for an intelligent manufacturing processcontrol assurance (IMPCA) system 50 according to an embodiment. TheIMPCA 50 comprises a scenario function 52 to trigger the operation ofthe IMPCA 50 and to determine an exception type. FIG. 2 shows thescenario function 52 to provide a first exception 54, a second exception56, and a third exception 58. However, the scenario function 52 mayaccommodate any number of exception types, and the three shown are onlyfor illustrative purposes. Examples of exceptions are new tape out(NTO), long-time-no-run (LTNR), periodic maintenance (PM), new chamberrelease, and the like.

The exception type is determined by the scenario function 52 and thenprovided to kernel 62 from the scenario function 52. The scenariofunction 52 may be implemented in a number of ways. For example, thescenario function 52 may be implemented on a processor based system,such as processor based system 10 in FIG. 1. The scenario function 52may be program code executed on the CPU 14. The program code may besaved on memory 16 or mass storage 18 or may be accessed remotelythrough the network interface 26. Any information necessary to theoperation of the scenario function 52 may be provided through a network,such as the LAN/WAN 32 and network interface 26, manually through I/Ocomponent 30 and I/O interface 24, or communication along bus 20 such asif an additional processor is used as a separate platform within theprocessor based system 10. How the scenario function 52 is implementedmay determine how the exception type is provided to the kernel 62. Forexample, if the scenario function 52 is implemented on the sameprocessor based system, the exception type may be saved in the memory 16for later access through the bus 20 when the CPU 14 implements thekernel 62. Other methods may include providing the exception typeremotely through the LAN/WAN 32 and network interface 26 or by manuallyinputting the exception type through the I/O component 30 and I/Ointerface 24. The exception type may be saved in memory 16 or massstorage 18 for later access.

The scenario function 52 may also provide to the kernel 62 currentconditions and configurations that correspond to the determinedexception type, such as the criteria of collecting raw data set, settingfilters, and initializing weight calculators. For example, historicaldata may be collected that are marked as NTO and happened within 30days, a pattern density filter may be set with a limited range of 0.1,and only a similarity weight calculator may be activated for use (theothers may be disabled). The current conditions and configurations maysimilarly be saved in memory 16 or mass storage 18 for later access.

The kernel 62 comprises a filter 64 and a weighting calculator 66.Similar to the scenario function 52, the kernel 62 may be implemented ona processor based system, such as processor based system 10 in FIG. 1.The kernel 62 may be integrated on the same processor based system asthe scenario function 52, or may be implemented on a separate processorbased system. The kernel 62 may be program code executed on the CPU 14.The program code may be saved on memory 16 or mass storage 18 or may beaccessed remotely through the network interface 26. The kernel 62 mayaccess the exception type and/or current conditions in any number ofways, like those discussed above. The filter 64 and weighting calculator66 may be implemented together as an integrated program or may beseparate functions. Also, the kernel 62 may be independent from thecontrol system or may be integrated into the control system.

The kernel 62 may comprise multiple filters and weighting calculatorsthat are triggered by different exception types. For example, one filterand one weighting calculator may be desirable for a NTO exception, butnot for a PM exception. Accordingly, another filter and weightingcalculator may be used for the PM exception. Embodiments have nolimitation on the number of filters and weighting calculators.

The filter 64 accesses historical data 60 and filters the historicaldata 60 based on a defined criterion or set of criteria to provide adata train to the weighting calculator 66. The historical data 60 may beany set of data compiled from previous exception events. The historicaldata 60 may include the type of exception, the time of the event, anyprocessing conditions, the result of the processing, control parameters,and the like. The historical data 60 may be saved as an array in aremote database that is accessible through the LAN/WAN 32 and thenetwork interface 26, in the memory 16 or mass storage 18, or any othersuitable device. Note that there is no limit to the type or amount ofdata saved as the historical data 60. The filter 64 may be computerprogram code executed by the CPU 14 and may remove irrelevant orundesirable data from what is provided to the weighting calculator 66.The filter 64 may be case, module, and/or experienced based and may be adesign choice by a programmer. Examples of possible criteria for afilter are a specified target range of the processing, a recipe, aparticular product, technology node, time period, and the like. Any setof historical data 60 that fails to meet the criterion or criteriadefined by the filter is not passed to the weighting calculator 66. Notethat a single criterion or any combination of criteria may be used inthe filter. The data train that passes through the filter 64 to beprovided to the weighting calculator 66 may be saved in the memory 16 ormass storage 18 in the processor based system 10 for later access by theCPU 14 when the weighting calculator 66 is executed.

The weighting calculator 66 assigns a weight to each data set within thedata train to output a suggestion 68. Note that “data set” as usedherein refers to all of the historical data relating to a single event,and that “data train” may comprise multiple data sets after thehistorical data is filtered. The weighting calculator 66 may also becomputer program code executed on the CPU 14 and may access data trainat any point during the execution.

The weighting calculator 66 may be a statistical analysis of the datatrain to determine the suggestion 68. The weighting calculator 66 mayprovide a weight for each data set. Then, the weights for all of thedata sets in the data train may be normalized to provide normalizedweights. The parameter of each data set corresponding to the parameterfor the suggestion 68 may then be multiplied by the corresponding dataset's normalized weight. The products of all of the data sets' parameterand normalized weight may then be summed together to provide thesuggestion 68. The suggestion 68 is output to the APC parameter 70. Howthe suggestion 68 is output may depend on how the kernel 62 and the APCsystem are implemented. The kernel 62 may be implemented in the sameprocessor based system 10 as the APC system, and thus, the suggestion 68may be saved in memory 16 or mass storage 18 for later access by the APCsystem. Further, the APC system may be a separate processor basedsystem, and the suggestion 68 may be communicated through the LAN/WAN 32and network interface 26. How the suggestion 68 is provided to the APCsystem is not limited to these two examples, and a person havingordinary skill in the art will readily understand other means by whichthis is accomplished.

The weight assigned to each data set may be accomplished in any numberof ways. Some examples of how the weights may be assigned are by usingsimilarity weighting, performance weighting, time weighting, and anycombination of these ways. A similarity weighting scheme may be based oninputs and may include a normal distribution based weighting function. Aperformance weighting scheme may be based on outputs and may include alinear function of the APC performance. A time weighting scheme may bebased on the time of the events and may include an exponentialdistribution based weighting function.

The following examples may clarify these illustrative schemes. First,assume the data train (Data Set No. 1-3) and the Current Data Set shownin Table 1 is provided to the weighting calculator 66 from the filter 64and from the scenario function 52, respectively.

TABLE 1 Data Condi- Condi- Post APC Set No. Time tion 1 tion 2 TargetMeasurement Parameter 1 0.2 2 0.3 100 98 3.2 2 0.3 0.7 1.1 100 101 2.6 30.4 1 0.8 100 105 2.3 Current 0.5 1.5 0.5 100 ? ?

Similarity weighting may include using a multivariate normaldistribution to calculate the weight to be assigned to each data set. Arandom vector X=[X₁ . . . X_(k)]^(T) may be defined where each conditionis a random variable, and each random variable comprises n number ofinstances. An expected value vector μ=[μ₁ . . . μ_(k)]^(T) may bedefined where the variable ,u, is the expected value of random variableX_(i), i.e. μ_(i)=E[X_(i)]. In this example, k=2; X₁ is defined bycondition 1; X₂ is defined by condition 2, and each random variable hasn=3. The number of random variables X_(k) may depend on the number ofconditions used in the analysis, and may be one or more without limit.Then, the variance matrix Σ_(X) is calculated. Calculation of thevariance matrix Σ_(X) is known in the art, but the equation isidentified herein as Equation (1) for ease of reference.

$\begin{matrix}{\Sigma_{X} = \begin{bmatrix}{E\left\lbrack {\left( {X_{1} - \mu_{1}} \right)\left( {X_{1} - \mu_{1}} \right)} \right\rbrack} & 0 & \ldots & 0 \\0 & {E\left\lbrack {\left( {X_{2} - \mu_{2}} \right)\left( {X_{2} - \mu_{2}} \right)} \right\rbrack} & \ldots & 0 \\\vdots & \vdots & \ddots & \vdots \\0 & 0 & \ldots & {E\left\lbrack {\left( {X_{k} - \mu_{k}} \right)\left( {X_{k} - \mu_{k}} \right)} \right\rbrack}\end{bmatrix}} & {{Eq}.\mspace{14mu}(1)}\end{matrix}$In this example, the variance matrix Σ_(X) is as follows:

$\Sigma_{X} = {\begin{bmatrix}0.46 & 0 \\0 & 0.16\end{bmatrix}.}$

With these definitions and information, a similarity weight may beassigned to each of n instances of random vector X , i.e. each data setin the data train. A probability density function (PDF) may be used toassign each weight in a similarity vector ω_(S), where ω_(S)=[ω_(S,1) .. . ω_(S,n)]^(T), particularly a Gaussian normal distribution, such asshown in Equation (2) below.

$\begin{matrix}{\omega_{S} = {{f_{X}(X)} = {\frac{1}{\left( {2\pi} \right)^{k/2}\sqrt{\Sigma_{X}}}{\mathbb{e}}^{{- \frac{1}{2}}{({X - \mu})}^{T}{\Sigma_{X}^{- 1}{({X - \mu})}}}}}} & {{Eq}.\mspace{14mu}(2)}\end{matrix}$Using the information provided above in this example, the similarityvector ω_(S) may be solved to provide

$\omega_{S} = {\begin{bmatrix}0.39 \\0.10 \\0.34\end{bmatrix}.}$

The similarity vector ω_(S) may be normalized to obtain a normalizedsimilarity vector ω _(S)=[ ω _(S,1) . . . ω _(S,n)]^(T). The normalizedweights ω _(S,i) may be obtained by Equation (3) below.

$\begin{matrix}{\varpi_{S,i} = \frac{\omega_{S,i}}{\sum\limits_{j = 1}^{n}\omega_{S,j}}} & {{Eq}.\mspace{14mu}(3)}\end{matrix}$Once the normalized similarity vector ω _(S) is obtained, a suggestedAPC parameter P_(Sug) may be determined. The suggest APC parameterP_(Sug) may be determined by taking the dot product of the normalizedsimilarity vector ω _(S) and the APC parameter vector P formed from theAPC parameters for the n number of instances, i.e. P=[P₁ . . .P_(n)]^(T), such that P_(Sug)= ω _(S)·P. Accordingly, in this example,the suggest APC parameter isP_(Sug)=(0.47)(3.2)+(0.12)(2.6)+(0.41)(2.3)=2.76.

Time weighting may include using an exponential distribution. A timevector T may comprise the time period from the current time for each ofn number of instances, i.e. each data set in data train. The time vectorT may be described as T=[t₁ . . . t_(n)]^(T). An exponentialdistribution may be used to assign each weight in a time weight vectorω_(T), where ω_(T)=[ω_(T,1) . . . ω_(T,n)]^(T), such as shown inEquation (4) below.

$\begin{matrix}{\omega_{T} = {{f\left( {T;\lambda} \right)} = \left\{ \begin{matrix}{\lambda\mathbb{e}}^{{- \lambda}\; T} & {t_{i} \geq 0} \\0 & {t_{i} < 0}\end{matrix} \right.}} & {{Eq}.\mspace{14mu}(4)}\end{matrix}$The decay factor λ may be set at any value and is a design choice. Usingthe information provided above in this example with λ=1, the time weightvector ω_(T) may be solved to provide

$\omega_{T} = {\begin{bmatrix}0.74 \\0.82 \\0.90\end{bmatrix}.}$

The time weight vector ω_(T) may be normalized to obtain a normalizedtime vector ω _(T)=[ ω _(T,1) . . . ω _(T,n)]^(T). The normalizedweights ω _(T,i) may be obtained by Equation (5) below.

$\begin{matrix}{\varpi_{T,i} = \frac{\omega_{T,i}}{\sum\limits_{j = 1}^{n}\omega_{T,j}}} & {{Eq}.\mspace{14mu}(5)}\end{matrix}$Once the normalized time vector ω _(T) is obtained, a suggested APCparameter P_(Sug) may be determined. The suggest APC parameter P_(Sug)may be determined by taking the dot product of the normalized timevector ω _(T) and the APC parameter vector P formed from the APCparameters for the n number of instances, i.e. P=[P₁ . . . P_(n)]^(T),such that P_(Sug)= ω _(T)·P. Accordingly, in this example, the suggestAPC parameter P_(Sug)=2.67.

Performance weighting may include using a linear function. A differencevector D may comprise magnitudes of the difference between the targetand the post measurement for each of n number of instances, i.e. eachdata set in data train. It should be noted that the difference may notbe a magnitude but the actual signed difference in some instances. Oneexample may be when the concerned process or chamber is for a chemicalmechanical polish (CMP), where a negative value indicates that thepolishing has removed less than the target, as opposed to removing morethan the target depth. The difference vector D may be described as D=[d₁. . . d_(n)]^(T). A linear function may be used to assign each weight ina performance weight vector ω_(P), where ω_(P)=[ω_(P,1) . . .ω_(P,n)]^(T), such as shown in Equation (6) below.

$\begin{matrix}{\omega_{P} = {{f\left( {D;\mspace{14mu} a;\mspace{14mu} b} \right)} = \left\{ \begin{matrix}{{a\; D} + b} & {q < d_{i} < r} \\0 & {{q > d_{i}};{d_{i} > r}}\end{matrix} \right.}} & {{Eq}.\mspace{14mu}(6)}\end{matrix}$The coefficients a and b are case dependent upon various considerations,such as process sensitivity and control safety. In this example, a=2 andb=0. Further, q and r are lower and upper weighting boundaries asdefined by the control specification. In this example, any performancedifference d_(i) not within the range q to r will be assigned a weightof zero. Further note that these boundaries may change depending on theprocesses to which these weights are being applied. In some instances,for example a CMP, it may be desirable to have a third definition for arange where a performance difference d_(i) is within a particularnegative range. Using the information provided above in this example,the performance weight vector ω_(P) may be solved to provide

$\omega_{P} = {\begin{bmatrix}4 \\2 \\10\end{bmatrix}.}$

The performance weight vector ω_(P) may be normalized to obtain anormalized performance vector ω _(P)=[ ω _(P,1) . . . ω _(P,n)]^(T). Thenormalized weights ω _(P,i) may be obtained by Equation (7) below.

$\begin{matrix}{\varpi_{P,i} = \frac{\omega_{P,i}}{\sum\limits_{j = 1}^{n}\omega_{P,j}}} & {{Eq}.\mspace{14mu}(7)}\end{matrix}$Once the normalized performance vector ω _(P) is obtained, a suggestedAPC parameter P_(Sug) may be determined. The suggest APC parameterP_(Sug) may be determined by taking the dot product of the normalizedperformance vector ω _(P) and the APC parameter vector P formed from theAPC parameters for the n number of instances, i.e. P=[P₁ . . .P_(n)]^(T), such that P_(Sug)= ω _(P)·P. Accordingly, in this example,the suggest APC parameter P_(Sug)=2.56.

Even further, any different weighting schemes that are used may becombined in any manner to determine the suggested APC parameter P_(Sug).For example, the similarity weighting, the time weighting, and/or theperformance weighting may be combined in any manner. This may beachieved by multiplying corresponding entries of the normalizedsimilarity vector ω _(S), the normalized time vector ω _(T) and/or thenormalized performance vector ω _(P) to obtain entries for a combinedweight vector ω_(C). For example, if all three weight vectors arecombined, the combined weight vector ω_(C) may be obtained by Equation(8) below.

$\begin{matrix}{\omega_{C} = {\begin{bmatrix}\omega_{C,1} \\\vdots \\\omega_{C,n}\end{bmatrix} = \begin{bmatrix}{\varpi_{S,1}\varpi_{T,1}\varpi_{P,1}} \\\vdots \\{\varpi_{S,n}\varpi_{T,n}\varpi_{P,n}}\end{bmatrix}}} & {{Eq}.\mspace{14mu}(8)}\end{matrix}$Also, any two normalized weight vectors may be multiplied to determinethe weight vector ω_(C).

The combined weight vector ω_(C) may be normalized to obtain anormalized combined vector ω _(C)=[ ω _(C,1) . . . ω _(C,n)]^(T). Thenormalized weights ω _(C,i) may be obtained by Equation (9) below.

$\begin{matrix}{\varpi_{C,i} = \frac{\omega_{C,i}}{\sum\limits_{j = 1}^{n}\omega_{C,j}}} & {{Eq}.\mspace{14mu}(9)}\end{matrix}$Once the normalized combined vector ω _(C) is obtained, a suggested APCparameter P_(Sug) may be determined. The suggest APC parameter P_(Sug)may be determined by taking the dot product of the normalized combinedvector ω _(C) and the APC parameter vector P formed from the APCparameters for the n number of instances, i.e. P=[P₁ . . . P_(n)]^(T),such that P_(Sug)= ω _(C)·P.

Using the normalized weighting vectors in the above examples, thefollowing Table 2 may summarize the normalized weighting vectors, thecombined weighting vector ω_(C), and the normalized combined vector ω_(C).

TABLE 2 Data APC Set No. ω _(S) ω _(T) ω _(P) ω_(C) ω _(C) Parameter 10.47 0.30 0.25 0.04 0.26 3.20 2 0.12 0.33 0.13 0.01 0.04 2.60 3 0.410.37 0.63 0.1 0.70 2.30Taking the dot product of the APC parameter vector P and the normalizedcombined vector ω _(C), the outputted suggested APC parameter P_(Sug)may be 2.55.

FIG. 3 illustrates a generalized workflow 80 of an embodiment. Scenariofunction 82 detects the exception 84 and begins data collection 86, bothcurrent and historical data. The scenario function 82 also triggers 88the kernel 92 to begin operation and provides data 90 for access by thekernel 92. The kernel 92 uses processes such as filters and weightingcalculators to determine a suggested APC parameter 94 that is output tothe APC system 96. These functions may be carried out by program codethat is executed on one or multiple processor based systems, and if morethan one processor based system is used, the systems may beinterconnected by various networks.

Embodiments may achieve advantages over known processes. Embodiments mayachieve reduced maintenance loading and reduced calculation time whendetermining control parameters, as compared to known processes. Forexample, embodiments may reduce the time required to calculate aparameter from hours to seconds, such as from five hours to ten seconds.Also, embodiments may achieve improved deviations between products. Forexample, the inventors have experimented with embodiments and have foundthat for a polysilicon deposition process in an APC system, the coveragerate improved on average approximately 30 percent. The turn rateimproved approximately 14 to 32 percent, and the Q-time gain wasapproximately 24 to 46 percent. Also, the operation rate improved fromapproximately 35 to 1.5 percent, a 96 percent improvement.

Although the present embodiments and their advantages have beendescribed in detail, it should be understood that various changes,substitutions and alterations can be made herein without departing fromthe spirit and scope of the disclosure as defined by the appendedclaims. Moreover, the scope of the present application is not intendedto be limited to the particular embodiments of the process, machine,manufacture, composition of matter, means, methods and steps describedin the specification. As one of ordinary skill in the art will readilyappreciate from the disclosure, processes, machines, manufacture,compositions of matter, means, methods, or steps, presently existing orlater to be developed, that perform substantially the same function orachieve substantially the same result as the corresponding embodimentsdescribed herein may be utilized according to the present disclosure.Accordingly, the appended claims are intended to include within theirscope such processes, machines, manufacture, compositions of matter,means, methods, or steps.

What is claimed is:
 1. A method for exception handling, the methodcomprising: accessing an exception type for an exception occurring for amanufacturing process, the exception interrupting a control flow of aprocess control system of the manufacturing process; filteringhistorical data of the manufacturing process, the filtering furthercomprising determining which of a plurality of filters to perform thefiltering based upon the exception type, the filtering being based on atleast one defined criterion to provide a data train comprising datasets, wherein the data sets each comprise a historical condition of themanufacturing process and a historical control parameter of themanufacturing process; assigning a weight to each data set based on eachhistorical condition, the assigning the weight comprising determiningwhich of a plurality of weighting calculators to perform the assigningthe weight; and using a processor, providing a current control parameterfor the manufacturing process, the current control parametercorresponding to the historical control parameter in type, the providingthe current control parameter using the weight and the historicalcontrol parameter for each data set, the current control parameter to beused by a manufacturing tool to control an operation of themanufacturing process.
 2. The method of claim 1, wherein the assigningthe weight to each data set comprises a statistical analysis using thehistorical condition of each data set.
 3. The method of claim 2, whereinthe statistical analysis includes using a similarity weighting analysisthat comprises a Gaussian normal distribution, and wherein thehistorical condition comprises a processing condition.
 4. The method ofclaim 2, wherein the statistical analysis includes using a timeweighting analysis that comprises an exponential decay function, andwherein the historical condition comprises a difference of a historicaltime corresponding to each data set from a current time corresponding tothe exception.
 5. The method of claim 2, wherein the statisticalanalysis includes using a performance weighting analysis that comprisesa linear function, and wherein the historical condition comprises adifference of a performance target from a performance measurement. 6.The method of claim 1, wherein the accessing the exception typecomprises determining the exception type.
 7. The method of claim 1,wherein a first filter based on a first at least one defined criterionis used for a first exception type, and a second filter based on asecond at least one defined criterion is used for a second exceptiontype, wherein the first filter and the first exception type aredifferent from the second filter and the second exception type,respectively.
 8. The method of claim 1, wherein the providing thecurrent control parameter comprises multiplying the historical parameterof each data set by the weight assigned to the data set to obtainrespective contributions, and summing the contributions to obtain thecurrent control parameter.
 9. A computer program product for providing aprocessing control parameter, the computer program product having anon-transitory medium with a computer program embodied thereon, thecomputer program comprising: computer program code for filteringhistorical data of a manufacturing process when an exception occurs inthe manufacturing process to provide a data train comprising data sets,the computer program code for filtering comprising computer program codefor determining which one of a plurality of filters for performing thefiltering will be initiated based upon an exception type of theexception, the exception interrupting a control flow of a processcontrol system of the manufacturing process, the data sets eachcomprising a historical condition of the manufacturing process and ahistorical parameter of the manufacturing process, the computer programcode for filtering accessing the historical data from a storage medium;computer program code for assigning a weight to each data set based on astatistical analysis of the data train, the computer program code forassigning the weight comprising computer program code for determiningwhich one of a plurality of weighting calculators for performing theassigning of the weight to each data set will be initiated; and computerprogram code for determining a suggested control parameter based on theweights, the suggested control parameter corresponding in type to thehistorical parameter and to be used by a manufacturing tool to controlan operation of the manufacturing process.
 10. The computer programproduct of claim 9, wherein the computer program further comprisescomputer program code for determining the exception type when theexception occurs.
 11. The computer program product of claim 9, whereinthe computer program further comprises computer program code foroutputting the suggested control parameter.
 12. The computer programproduct of claim 9, wherein the statistical analysis comprises aGaussian normal distribution using the historical condition.
 13. Thecomputer program product of claim 9, wherein the statistical analysiscomprises an exponential decay function based on the historicalcondition, wherein the historical condition comprises a differencebetween a current time of the exception and a historical timecorresponding to each respective data set.
 14. The computer programproduct of claim 9, wherein the statistical analysis comprises a linearfunction based on the historical condition, wherein the historicalcondition comprises a difference between a performance target and aperformance measurement.
 15. A method for processing control exceptionhandling, the method comprising: determining an exception type when anexception occurs in a manufacturing process, the exception interruptinga control flow of a process control system of the manufacturing process;initiating one filter of a plurality of filters and one weightingcalculator of a plurality of weighting calculators based on theexception type; filtering historical data of the manufacturing processby the one filter to provide a data train, the data train comprisingdata sets, each of the data sets including a historical condition of themanufacturing process and a historical parameter of the manufacturingprocess; and using a processor, providing a suggested parameter based onthe historical parameter for each respective data set and on a weight ofeach data set determined by the one weighting calculator, the suggestedparameter corresponding to the historical parameter in type, thesuggested parameter to be used by a manufacturing tool to control anoperation of the manufacturing process.
 16. The method of claim 15further comprising normalizing the weight for each data set to obtain anormalized weight for each data set.
 17. The method of claim 16, whereinproviding the suggested parameter comprises multiplying the normalizedweight with the historical parameter of each data set to obtainparameter contributions for each data set, and summing all parametercontributions.
 18. The method of claim 15, wherein the weightingcalculator comprises a statistical analysis, wherein the statisticalanalysis comprises at least one of a Gaussian normal distribution, anexponential decay function, and a linear function.